﻿package mortal.game.view.activeTime
{
    import Message.Public.*;
    import mortal.game.manager.*;
    import mortal.game.mvc.*;

    public class ActiveTimeUtil extends Object
    {

        public function ActiveTimeUtil()
        {
            return;
        }// end function

        public static function isInDoubleTimeByType(param1:int) : Boolean
        {
            var _loc_2:Boolean = false;
            var _loc_3:* = getSClientActive(param1);
            if (_loc_3)
            {
                _loc_2 = ClockManager.instance.isWithinTheTime(_loc_3.startDt.hours, _loc_3.startDt.minutes, _loc_3.startDt.seconds, _loc_3.endDt.hours, _loc_3.endDt.minutes, _loc_3.endDt.seconds);
            }
            return _loc_2;
        }// end function

        public static function getTodaySClientActives(param1:int) : Array
        {
            var _loc_4:SClientActive = null;
            var _loc_2:Array = [];
            var _loc_3:* = GameController.activeTime.currentActiveDic;
            var _loc_5:* = _loc_3.length;
            var _loc_6:int = 0;
            while (_loc_6 < _loc_5)
            {
                
                _loc_4 = _loc_3[_loc_6];
                if (_loc_4.type == param1)
                {
                    _loc_2.push(_loc_4);
                }
                _loc_6++;
            }
            return _loc_2;
        }// end function

        public static function getTodaySClientActiveTimeTxt(param1:int) : String
        {
            var _loc_4:SClientActive = null;
            var _loc_5:String = null;
            var _loc_2:String = "";
            var _loc_3:* = GameController.activeTime.currentActiveDic;
            var _loc_6:* = _loc_3.length;
            var _loc_7:int = 0;
            while (_loc_7 < _loc_6)
            {
                
                _loc_4 = _loc_3[_loc_7];
                if (_loc_4.type == param1)
                {
                    _loc_5 = _loc_2 ? ("、") : ("");
                    _loc_2 = _loc_2 + (_loc_5 + _loc_4.startDt.hours + ":" + (_loc_4.startDt.minutes < 10 ? ("0" + _loc_4.startDt.minutes) : (_loc_4.startDt.minutes)) + "-" + _loc_4.endDt.hours + ":" + (_loc_4.endDt.minutes < 10 ? ("0" + _loc_4.endDt.minutes) : (_loc_4.endDt.minutes)));
                }
                _loc_7++;
            }
            return _loc_2;
        }// end function

        public static function getSClientActive(param1:int) : SClientActive
        {
            var _loc_3:SClientActive = null;
            var _loc_4:SClientActive = null;
            var _loc_8:Number = NaN;
            var _loc_9:Number = NaN;
            var _loc_2:* = GameController.activeTime.currentActiveDic;
            var _loc_5:* = ClockManager.instance.nowDate.time;
            var _loc_6:* = _loc_2.length;
            var _loc_7:int = 0;
            while (_loc_7 < _loc_6)
            {
                
                _loc_3 = _loc_2[_loc_7];
                if (_loc_3.type == param1)
                {
                    if (_loc_4 == null)
                    {
                        _loc_4 = _loc_3;
                    }
                    else if (_loc_4)
                    {
                        _loc_8 = _loc_4.startDt.time;
                        _loc_9 = _loc_4.endDt.time;
                        if (_loc_5 > _loc_9 && _loc_3.startDt.time >= _loc_9 || _loc_5 < _loc_3.endDt.time && _loc_3.endDt.time < _loc_8)
                        {
                            _loc_4 = _loc_3;
                        }
                    }
                }
                _loc_7++;
            }
            return _loc_4;
        }// end function

    }
}
